package com.zkthink.ceres.pay.wechat.v3.entity.request.applyments;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 支付者信息
 * </p>
 *
 * @author vivi.huang
 * @since 2020/5/17
 */
@Data
@EqualsAndHashCode()
@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class BusinessLicenseInfo implements Serializable {


    private static final long serialVersionUID = 8451036970675370424L;

    /**
     * 证件扫描件	business_license_copy	string(256)	是	1、主体为“个体工商户/企业”时，请上传营业执照的证件图片。
     * 2、主体为“党政、机关及事业单位/其他组织”时，请上传登记证书的证件图片。
     * 3、可上传1张图片，请填写通过图片上传接口预先上传图片生成好的MediaID 。
     * 4、图片要求：
     * （1）请上传证件的彩色扫描件或彩色数码拍摄件，黑白复印件需加盖公章（公章信息需完整） 。
     * （2）不得添加无关水印（非微信支付商户申请用途的其他水印）。
     * （3）需提供证件的正面拍摄件，完整、照面信息清晰可见。信息不清晰、扭曲、压缩变形、反光、不完整均不接受。
     * （4）不接受二次剪裁、翻拍、PS的证件照片。
     * 示例值： 47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4
     */
    @JSONField(name = "business_license_copy")
    private String businessLicenseCopy;

    /**
     * 证件注册号	business_license_number	string(18)	是	1、主体为“个体工商户/企业”时，请填写营业执照上的注册号/统一社会信用代码，须为15位数字或 18位数字|大写字母。
     * 2、主体为“党政、机关及事业单位/其他组织”时，请填写登记证书的证书编号。
     * 示例值：123456789012345678
     * 特殊规则：长度最小15个字节
     */
    @JSONField(name = "business_license_number")
    private String businessLicenseNumber;

    /**
     * 商户名称	merchant_name	string(128)	是	1、请填写营业执照/登记证书的商家名称，2~110个字符，支持括号 。
     * 2、个体工商户/党政、机关及事业单位，不能以“公司”结尾。
     * 3、个体工商户，若营业执照上商户名称为空或为“无”，请填写"个体户+经营者姓名"，如“个体户张三” 。
     * 示例值：腾讯科技有限公司
     */
    @JSONField(name = "merchant_name")
    private String merchantName;

    /**
     * 经营者/法定代表人姓名	legal_person	string(128)	是	请填写证件的经营者/法定代表人姓名
     * 示例值：张三
     */
    @JSONField(name = "legal_person")
    private String legalPerson;

    /**
     * 注册地址	company_address	string(128)	条件选填	主体为“党政、机关及事业单位/其他组织”时必填，请填写登记证书的注册地址。
     * 示例值：深圳南山区科苑路
     */
    @JSONField(name = "company_address")
    private String companyAddress;

    /**
     * 营业期限	business_time	string(256)	条件选填	1、主体为“党政、机关及事业单位/其他组织”时必填，请填写证件有效期。
     * 2、若证件有效期为长期，请填写：长期。
     * 3、结束时间需大于开始时间。
     * 4、有效期必须大于60天，即结束时间距当前时间需超过60天。
     * 示例值：[\"2014-01-01\",\"长期\"]
     */
    @JSONField(name = "business_time")
    private String businessTime;


}